package com.freemalll.merchant.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.freemalll.merchant.common.AbstractBaseEntity;
import com.freemalll.merchant.common.CompareField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * 商户场地信息
 * </p>
 *
 * @author songshixiong
 * @since 2025-06-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("mer_venue_info")
@Schema(description = "商户场地信息")
public class MerVenueInfo extends AbstractBaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    @TableId(value = "venue_id", type = IdType.ASSIGN_UUID)
    @CompareField(value = "venue_id", skip = true)
    private String venueId;

    @Schema(description = "所属商户")
    @TableField("mer_id")
    @CompareField(value = "mer_id", skip = true)
    private String merId;

    @Schema(description = "租赁面积")
    @TableField("rental_area")
    @CompareField("rental_area")
    private Double rentalArea;

    @Schema(description = "经营面积")
    @TableField("venue_area")
    @CompareField("venue_area")
    private Double venueArea;

    @Schema(description = "经营场所期限起")
    @TableField("venue_date_start")
    @CompareField("venue_date_start")
    private String venueDateStart;

    @Schema(description = "经营场所期限止")
    @TableField("venue_date_end")
    @CompareField("venue_date_end")
    private String venueDateEnd;

    @Schema(description = "经营场所省")
    @TableField("venue_province")
    @CompareField("venue_province")
    private String venueProvince;

    @Schema(description = "经营场所市")
    @TableField("venue_city")
    @CompareField("venue_city")
    private String venueCity;

    @Schema(description = "经营场所区")
    @TableField("venue_country")
    @CompareField("venue_country")
    private String venueCountry;

    @Schema(description = "经营场所详细地址")
    @TableField("venue_address")
    @CompareField("venue_address")
    private String venueAddress;

    @Schema(description = "文件类型 1:房屋租赁证明 2:产权证明")
    @TableField("rental_type")
    @CompareField("rental_type")
    private Integer rentalType;

    @Schema(description = "实际经营地址省")
    @TableField("real_province")
    @CompareField("real_province")
    private String realProvince;

    @Schema(description = "实际经营地址市")
    @TableField("real_city")
    @CompareField("real_city")
    private String realCity;

    @Schema(description = "实际经营地址区")
    @TableField("real_country")
    @CompareField("real_country")
    private String realCountry;

    @Schema(description = "实际经营详细地址")
    @TableField("real_address")
    @CompareField("real_address")
    private String realAddress;

}
